██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Apache Struts
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In mwbqinformatica mwbgApache Struts è un mwbwframework mwcaopen source per lo sviluppo di mwcqapplicazioni web su mwcgpiattaforma mwcwJava EE. Inizialmente sviluppato come sotto-progetto di Apache Jakarta, ma ora divenuto un progetto a sé, estende le Java mwdqServlet, incoraggiando gli sviluppatori all'utilizzo del mwdgdesign pattern mwdwModel-View-Controller (MVC). Il suo ideatore è Craig McClanahan ed è stato donato alla mweqApache Software Foundation nel maggio del 2000 da parte di mwegIBM.
L'utilizzo di Struts permette lo sviluppo di mwfaweb application di notevoli dimensioni; inoltre agevola la suddivisione dello sviluppo del progetto fra vari sotto-team. In altre parole, i mwfqweb designer, e i vari gruppi di sviluppatori possono gestire in parallelo e autonomamente la loro parte del progetto. Tra le funzionalità offerte c'è la mwfgi18N, ossia l'internazionalizzazione, una potente tag library e la validazione dei mwgaform.
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Descrizione
Il framework di mwhaStruts è un insieme di mwhqclassi ed mwhginterfacce che costituiscono l'infrastruttura per costruire mwhwWeb Application Java EE conformi al design pattern MVC. Questo framework gestisce tutte le richieste mwiaclient e smista il flusso applicativo in base alla logica configurata. Si potrebbe definire come la “spina dorsale” di una applicazione che adotta tale framework.
Tutta la configurazione dell'applicazione è contenuta all'interno di uno specifico mwigfile mwiwXML che viene letto in fase di start-up dell'applicazione e definisce le associazioni tra i vari sottoelementi che compongono il sistema. Sono di seguito descritti i vantaggi di cui beneficia un'applicazione realizzata con il supporto del framework Struts.
Rapidità di sviluppo
A differenza di quanto avveniva utilizzando il mwjgJSP Model 1, è possibile sviluppare in parallelo le varie parti dell'applicazione, view (JSP/HTML) e mwjwlogica di business (Java) sfruttando al meglio le conoscenze dei componenti del team di sviluppo. Si possono utilizzare sviluppatori meno esperti e anche con poche conoscenze di mwkaJava per la realizzazione delle mwkqview, permettendo agli sviluppatori Java più esperti di concentrarsi sulla realizzazione della mwkgbusiness logic. La versione 2.0 di Struts (mwkwStruts2) garantisce un'ulteriore riduzione dei tempi di sviluppo grazie ad un'ulteriore semplificazione della logica e della corrispettiva implementazione del framework.
Manutenibilità
L'applicazione è costituita da livelli logici ben distinti. Una modifica in uno dei livelli non comporta modifiche negli altri. Ad esempio una modifica ad una pagina JSP non ha impatto sulla logica di controllo o sulla logica di business.
Modularità e Riusabilità
I diversi ruoli dell'applicazione sono affidati a diversi componenti. Ciò consente di sviluppare codice mwmamodulare e più facilmente riutilizzabile.
Per quanto riguarda il livello presentazione (la mwmgview del pattern MVC), Struts supporta diverse tecnologie, inclusi mwmwJSP, mwnaXML/mwnqXSLT, mwngJava Server Faces (JSF), Cocoon, Swing (JFC) e mwoqmwogVelocity. Struts permette la gestione della mwowmwpainternazionalizzazione ("I18N") dei contenuti, in pratica permette la gestione centralizzata dei file contenenti le stringhe testuali da visualizzare in dipendenza alla lingua dichiarata dal mwpqbrowser.
Un'altra caratteristica è la gestione automatica del mwpwpool delle connessioni al mwqadatabase, sollevando lo sviluppatore da tale incarico; ogni volta che bisogna accedere al database, si dichiara che è necessaria una connessione e il framework restituisce un handler alla connessione.
Per quanto riguarda il livello di mwqgmodellazione dei dati sono supportati i mwqwJavaBean e mwraEJB. Struts lega i suoi componenti in base alle direttive contenute in un file XML, il file mwrqstruts-config.xml. In questo file vengono configurati i componenti e le interazioni fra gli stessi.
Altri framework MVC
Anche se Struts è molto ben documentato, affidabile e diffuso, di recente vede la concorrenza di altri framework MVC più leggeri, come mwsaSpring e Tapestry e di altri come XWork e il più evoluto WebWork.
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su Apache Struts
Collegamenti esterni
• (EN) Sito ufficiale, su struts.apache.org.
• Repository sorgenti di Apache Struts, su github.com.
• Sito di segnalazione bug, su issues.apache.org.
• mwuqPresentazione approfondita di XMoon 0.7.4 in pdf, su prdownloads.sourceforge.net.